Consulta de Guías Docentes



Academic Year/course: 2023/24

634 - Joint Programme in Computer Engineering - Business Administration

39828 - Concurrent and distributed systems programming


Syllabus Information

Academic year:
2023/24
Subject:
39828 - Concurrent and distributed systems programming
Faculty / School:
326 - Escuela Universitaria Politécnica de Teruel
Degree:
634 - Joint Programme in Computer Engineering - Business Administration
ECTS:
6.0
Year:
3
Semester:
First semester
Subject type:
Compulsory
Module:
---

1. General information

 

The student will learn to develop programs in which a set of processes must be synchronized, either through shared memory mechanisms or through communication networks, being able to reason about the correctness of the proposed solution. A methodological approach will be followed in which problem patterns and appropriatesolution schemes will be studied using the different common technologies.

These approaches and objectives are aligned with the following Sustainable Development Goals (SDGs) of the United Nations Agenda 2030 ( https://www.un.org/sustainabledevelopment/es/), in such a way that the acquisition of the learning results of the subject provides training and competence to contribute to some extent to their achievement (goals 7 and 9).

 

2. Learning results

 

 

  • The student will end up with a deep understanding of what are the specific characteristics of concurrent and distributed systems.

  • Know the problems generated by concurrent access to data and resources, as well as the conceptual and technological solutions that have been given to them.

  • Learn about the characteristics of distributed systems, the challenges they pose and the solutions that have been provided for them.

  • Learn tools for the design and programming of programs with concurrent and/or distributed features.

  • Acquire notions of what are real time systems, and event based systems.

 

3. Syllabus

 

The program of the subject consists of the following topics:

  • Unit 1: Introduction to concurrent programming

  • Unit 2: Modeling and analysis of concurrent systems

  • Unit 3: The problem of the critical section

  • Unit 4: Traffic light synchronization

  • Unit 5: Synchronization via monitors

  • Unit 6: Introduction to distributed programming

  • Unit 7: Coordination based on tuple spaces

  • Unit 8: Distributed algorithms

  • Unit 9: Introduction to real-time systems

  • Unit 10: Introduction to event-driven systems

 

4. Academic activities

 

 

  • 45 hours of theoretical-practical activities and 15 hours of problem sessions.

  • 15 hours of laboratory sessions.

  • 24 hours of group work.

  • 60 hours of work and effective individual study.

  • 6 hours dedicated to different assessment tests.



5. Assessment system

 

  • Group work. 10%. Concurrent programming will have to be solved. In the final exam there will be a part of recovery of this activity.

  • Practical sessions. 20%. In the final exam there will be a recovery part of this activity.

  • Theory and exercises. 70% of the final grade. Assessed in the final exam.

The final grade of the subject will be obtained as the weighted average of the three parts, being necessary to reach at least 4 points out of 10 in the practicals and 4 points out of 10 in the written test. In case of not reaching this minimum in any of these parts, the overall grade of the course will be the minimum between 4.0 and the result of weighting with thepercentages of each part.

As forthe second call, the final grade will be the grade of the extraordinary exam, taking into account that the exam will have a practical part that will be worth 30% of the total grade. Those who have passed the practical part in the ordinary exam will keep the grade and will not have to take the practical part in the extraordinary exam. In the extraordinary call, the grade of the work is not maintained.

 


Curso Académico: 2023/24

634 - Programa conjunto en Ingeniería Informática-Administración y Dirección de Empresas

39828 - Programación de sistemas concurrentes y distribuidos


Información del Plan Docente

Año académico:
2023/24
Asignatura:
39828 - Programación de sistemas concurrentes y distribuidos
Centro académico:
326 - Escuela Universitaria Politécnica de Teruel
Titulación:
634 - Programa conjunto en Ingeniería Informática-Administración y Dirección de Empresas
Créditos:
6.0
Curso:
3
Periodo de impartición:
Primer semestre
Clase de asignatura:
Obligatoria
Materia:
---

1. Información básica de la asignatura

El alumno aprenderá a desarrollar programas en los que un conjunto de procesos deben sincronizarse, ya sea mediante mecanismos de memoria compartida o a través de redes de comunicaciones, llegando a poder razonar sobre la corrección de la solución propuesta. Se seguirá un enfoque metodológico en el que se estudiarán patrones de problemas y esquemas de solución adecuados utilizando las distintas tecnologías habituales.

Estos planteamientos y objetivos están alineados con los siguientes Objetivos de Desarrollo Sostenible (ODS) de la Agenda 2030 de Naciones Unidas ( https://www.un.org/sustainabledevelopment/es/), de tal manera que la adquisición de los resultados de aprendizaje de la asignatura proporciona capacitación y competencia para contribuir en cierta medida a su logro (objetivos 7 y 9).

2. Resultados de aprendizaje

  • El estudiante terminará con un conocimiento profundo de cuáles son las características específicas de los sistemas
    concurrentes y distribuidos.
  • Conocerá los problemas generados por el acceso concurrente a datos y recursos, así como las soluciones conceptuales y tecnológicas que se han dado a los mismos.
  • Conocerá las características de los sistemas distribuidos, los retos que plantea y las soluciones que se han aportado para los mismos.
  • Conocerá herramientas para el diseño y programación de programas con características concurrentes y/o distribuidas.
  • Adquirirá nociones de qué son los sistemas tiempo real, y sistemas basados en eventos.

3. Programa de la asignatura

El programa de la asignatura consta de los siguientes temas:

  • Tema 1: Introducción a la programación concurrente
  • Tema 2: Modelado y análisis de sistemas concurrentes
  • Tema 3: El problema de la sección crítica
  • Tema 4: Sincronización mediante semáforos
  • Tema 5: Sincronización mediante monitores
  • Tema 6: Introducción a la programación distribuida
  • Tema 7: Coordinación basada en espacios de tuplas
  • Tema 8: Algoritmos distribuidos
  • Tema 9: Introducción a los sistemas de tiempo real
  • Tema 10: Introducción a los sistemas dirigidos por eventos

4. Actividades académicas

  • 45 horas de actividades teórico-prácticas, y 15 de sesiones de problemas.
  • 15 horas de sesiones de laboratorio.
  • 24 horas de trabajo en grupo.
  • 60 horas de trabajo y estudio individual efectivo.
  • 6 horas dedicadas a distintas pruebas de evaluación.

5. Sistema de evaluación

  • Trabajo en grupo. 10%. Habrá que resolver un programación concurrente. En el examen final habrá una parte de recuperación de esta actividad.
  • Prácticas. 20%. En el examen final habrá una parte de recuperación de esta actividad.
  • Teoría y ejercicios. 70% de la nota final. Evaluable en el examen final.

La calificación final de la asignatura se obtendrá como la media ponderada de las tres partes, siendo necesario llegar a obtener, al menos, 4 puntos sobre 10 en las prácticas y 4 puntos sobre 10 en la prueba escrita. En caso de no alcanzar ese mínimo en alguna de esas partes, la calificación global de la asignatura será la mínima entre 4.0 y el resultado de ponderar con los porcentajes de cada parte.

En cuanto a la segunda convocatoria, la nota final será la nota del examen extraordinario, teniendo en cuenta que ese examen tendrá una parte de prácticas que valdrá el 30% de la nota total. Aquellos que hubieran aprobado la parte de prácticas en la convocatoria ordinaria mantendrán la nota y no tendrán que hacer dicha parte de prácticas en el examen extraordinario. En la convocatoria extraordinaria, la nota del trabajo no se mantiene.